package msword;

import com4j.*;

@IID("{0002097C-0000-0000-C000-000000000046}")
public interface Indexes extends Com4jObject,Iterable<Com4jObject> {
  // Methods:
  /**
   * <p>
   * Getter method for the COM property "Application"
   * </p>
   * @return  Returns a value of type msword._Application
   */

  @DISPID(1000) //= 0x3e8. The runtime will prefer the VTID if present
  @VTID(7)
  msword._Application application();


  /**
   * <p>
   * Getter method for the COM property "Creator"
   * </p>
   * @return  Returns a value of type int
   */

  @DISPID(1001) //= 0x3e9. The runtime will prefer the VTID if present
  @VTID(8)
  int creator();


  /**
   * <p>
   * Getter method for the COM property "Parent"
   * </p>
   * @return  Returns a value of type com4j.Com4jObject
   */

  @DISPID(1002) //= 0x3ea. The runtime will prefer the VTID if present
  @VTID(9)
  @ReturnValue(type=NativeType.Dispatch)
  Com4jObject parent();


  /**
   * <p>
   * Getter method for the COM property "_NewEnum"
   * </p>
   */

  @DISPID(-4) //= 0xfffffffc. The runtime will prefer the VTID if present
  @VTID(10)
  java.util.Iterator<Com4jObject> iterator();

  /**
   * <p>
   * Getter method for the COM property "Count"
   * </p>
   * @return  Returns a value of type int
   */

  @DISPID(1) //= 0x1. The runtime will prefer the VTID if present
  @VTID(11)
  int count();


  /**
   * <p>
   * Getter method for the COM property "Format"
   * </p>
   * @return  Returns a value of type msword.WdIndexFormat
   */

  @DISPID(2) //= 0x2. The runtime will prefer the VTID if present
  @VTID(12)
  msword.WdIndexFormat format();


  /**
   * <p>
   * Setter method for the COM property "Format"
   * </p>
   * @param prop Mandatory msword.WdIndexFormat parameter.
   */

  @DISPID(2) //= 0x2. The runtime will prefer the VTID if present
  @VTID(13)
  void format(
          msword.WdIndexFormat prop);


  /**
   * @param index Mandatory int parameter.
   * @return  Returns a value of type msword.Index
   */

  @DISPID(0) //= 0x0. The runtime will prefer the VTID if present
  @VTID(14)
  @DefaultMethod
  Index item(
          int index);


  /**
   * @param range Mandatory msword.Range parameter.
   * @param headingSeparator Optional parameter. Default value is com4j.Variant.getMissing()
   * @param rightAlignPageNumbers Optional parameter. Default value is com4j.Variant.getMissing()
   * @param type Optional parameter. Default value is com4j.Variant.getMissing()
   * @param numberOfColumns Optional parameter. Default value is com4j.Variant.getMissing()
   * @param accentedLetters Optional parameter. Default value is com4j.Variant.getMissing()
   * @return  Returns a value of type msword.Index
   */

  @DISPID(100) //= 0x64. The runtime will prefer the VTID if present
  @VTID(15)
  Index addOld(
          Range range,
          @Optional Object headingSeparator,
          @Optional Object rightAlignPageNumbers,
          @Optional Object type,
          @Optional Object numberOfColumns,
          @Optional Object accentedLetters);


  /**
   * @param range Mandatory msword.Range parameter.
   * @param entry Optional parameter. Default value is com4j.Variant.getMissing()
   * @param entryAutoText Optional parameter. Default value is com4j.Variant.getMissing()
   * @param crossReference Optional parameter. Default value is com4j.Variant.getMissing()
   * @param crossReferenceAutoText Optional parameter. Default value is com4j.Variant.getMissing()
   * @param bookmarkName Optional parameter. Default value is com4j.Variant.getMissing()
   * @param bold Optional parameter. Default value is com4j.Variant.getMissing()
   * @param italic Optional parameter. Default value is com4j.Variant.getMissing()
   * @param reading Optional parameter. Default value is com4j.Variant.getMissing()
   * @return  Returns a value of type msword.Field
   */

  @DISPID(101) //= 0x65. The runtime will prefer the VTID if present
  @VTID(16)
  Field markEntry(
          Range range,
          @Optional Object entry,
          @Optional Object entryAutoText,
          @Optional Object crossReference,
          @Optional Object crossReferenceAutoText,
          @Optional Object bookmarkName,
          @Optional Object bold,
          @Optional Object italic,
          @Optional Object reading);


  /**
   * @param range Mandatory msword.Range parameter.
   * @param entry Optional parameter. Default value is com4j.Variant.getMissing()
   * @param entryAutoText Optional parameter. Default value is com4j.Variant.getMissing()
   * @param crossReference Optional parameter. Default value is com4j.Variant.getMissing()
   * @param crossReferenceAutoText Optional parameter. Default value is com4j.Variant.getMissing()
   * @param bookmarkName Optional parameter. Default value is com4j.Variant.getMissing()
   * @param bold Optional parameter. Default value is com4j.Variant.getMissing()
   * @param italic Optional parameter. Default value is com4j.Variant.getMissing()
   */

  @DISPID(102) //= 0x66. The runtime will prefer the VTID if present
  @VTID(17)
  void markAllEntries(
          Range range,
          @Optional Object entry,
          @Optional Object entryAutoText,
          @Optional Object crossReference,
          @Optional Object crossReferenceAutoText,
          @Optional Object bookmarkName,
          @Optional Object bold,
          @Optional Object italic);


  /**
   * @param concordanceFileName Mandatory java.lang.String parameter.
   */

  @DISPID(103) //= 0x67. The runtime will prefer the VTID if present
  @VTID(18)
  void autoMarkEntries(
          String concordanceFileName);


  /**
   * @param range Mandatory msword.Range parameter.
   * @param headingSeparator Optional parameter. Default value is com4j.Variant.getMissing()
   * @param rightAlignPageNumbers Optional parameter. Default value is com4j.Variant.getMissing()
   * @param type Optional parameter. Default value is com4j.Variant.getMissing()
   * @param numberOfColumns Optional parameter. Default value is com4j.Variant.getMissing()
   * @param accentedLetters Optional parameter. Default value is com4j.Variant.getMissing()
   * @param sortBy Optional parameter. Default value is com4j.Variant.getMissing()
   * @param indexLanguage Optional parameter. Default value is com4j.Variant.getMissing()
   * @return  Returns a value of type msword.Index
   */

  @DISPID(104) //= 0x68. The runtime will prefer the VTID if present
  @VTID(19)
  Index add(
          Range range,
          @Optional Object headingSeparator,
          @Optional Object rightAlignPageNumbers,
          @Optional Object type,
          @Optional Object numberOfColumns,
          @Optional Object accentedLetters,
          @Optional Object sortBy,
          @Optional Object indexLanguage);


  // Properties:
}
